python3+selenium自动化测试-js解决click失
2020-09-09 本文已影响0人
C1R2
(21)js解决click失效问题
有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应。
第一种解决办法:先点击它的父元素一次,然后再点击这个元素;
第二种解决方法:用js直接执行点击事件。
coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains # 模拟鼠标操作
from selenium.webdriver.support.select import Select # 下拉框需要引入
import time
driver = webdriver.Chrome()
url = "https://www.baidu.com"
driver.get(url)
time.sleep(3)
mouse = driver.find_element("link text", "设置")
ActionChains(driver).move_to_element(mouse).perform()
time.sleep(3)
driver.find_element("link text", "搜索设置").click()
time.sleep(3)
s = driver.find_element("id", "nr")
Select(s).select_by_visible_text("每页显示50条")
方法一:先点父元素
driver.find_element("id", "gxszButton").click()
driver.find_element("class name", "prefpanelgo").click()
方法二:用js直接去点击
js = 'document.getElementsByClassName("prefpanelgo")[0].click();'
driver.execute_script(js)