python - document.querySelector().click(); 硒不起作用 $0.click(); 不明确的
问题描述
我正在尝试单击带有硒的按钮。我已经使用 $0.click(); 尝试了 Chrome 和 Firefox 控制台;并且可以工作,但是在使用选择器进行测试时,它不起作用,“未定义”,document.querySelector(“#td”).click();。
我尝试使用硒不起作用。
HTML:
<td id="td" onclick="if(top.body) Len('td')" class="lenDesActiv">Date</td>
我尝试了以下方法:
driver.execute_script('document.querySelector("td#tdDos.lenguetaActiva").click();')
driver.execute_script('document.querySelector("td#").click();')
driver.execute_script('document.querySelector("#td").click();')
driver.execute_script('document.querySelector("td#td").click();')
driver.execute_script('document.getElementById("td").click();')
driver.findElement(By.id("td")).click();
document.getElementById("td").addEventListener("click", function(){
alert("hello world");
});
loginelement = driver.find_element(By.ID, 'td')
driver.execute_script("arguments[0].click();", loginelement)
解决方案
尝试这个。
首先切换到框架。
driver.switch_to.frame("body")
等待元素可点击。
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH, '//td[@id="td"]')))
使用 JavaScriptExecutor 单击元素。
driver.execute_script('document.querySelector("td").click()')
推荐阅读
- sql - SQL:迁移到历史正确的时态表?
- javascript - 在响应中呈现带有文件的页面
- python - Python Seaborn:分组箱线图
- flutter - Flutter Bloc - mapEventToState 只执行一次
- python - 如何计算熊猫数据集中类的频率
- python - 如果满足条件,如何返回 numpy 数组的第三个元素?
- java - 当涉及聚合类时,如何将用户输入输入到数组列表中?
- python - 如何通过附加过滤从多个列表中获取所有组合?
- mongodb - 在 mongodb 中使用条件查找,出现错误
- jenkins - 共享 Jenkins 库的资源文件夹是否已复制到代理计算机工作区?