selenium+python自动化99-清空输入框clear()失效问题解决

上一篇 / 下一篇  2020-10-27 15:19:39 / 个人分类:python

fromselenium.webdriver.support.uiimportWebDriverWaitfromseleniumimportwebdriverfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.common.action_chainsimportActionChainsfromselenium.webdriver.support.selectimportSelectimporttimeclassBase():# # 作者:上海悠悠,QQ交流群:750815713def__init__(self, driver):self.driver = driverdeffind(self, locator):'''查找元素,loctor = ("id", "kw")'''element = WebDriverWait(self.driver,30,1).until(EC.presence_of_element_located(locator))returnelementdefclick(self, locator):'''点击元素'''self.find(locator).click()defdouble_click(self,locator):'''双击事件'''element = self.find(locator) ActionChains(self.driver).double_click(element).perform()defsend(self, locator, text):'''发送文本'''self.find(locator).send_keys(text)

方法2:JS清空文本框

第二种解决思路,可以用万能的js,只要selenium遇到的坑,都可以用js去解决。

# 作者:上海悠悠,QQ交流群:750815713driver = webdriver.Firefox()driver.get("https://www.baidu.com")baidu = Base(driver)# 输入框loc = ("id","kw")
baidu.send(loc,"yoyo")
time.sleep(3)# # 方法一:双击# baidu.double_click(loc)# # 重新输入# baidu.send(loc, "上海-悠悠")# 方法二:万能的jsjs = 'document.querySelector("#kw").value="";'
driver.execute_script(js)
baidu.send(loc,"上海-悠悠")

TAG:

 

评分:0

我来说两句

Open Toolbar