首页 > 解决方案 > 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)

标签: pythonseleniumxpathcss-selectorsframe

解决方案


尝试这个。

首先切换到框架。

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()')

推荐阅读