尝试了所有 selenium 单击选项,但单击对元素不起作用
Tried all the selenium click option but click is not working on an element
WebElement n=driver.findElement(By.cssSelector("tr:nth-of-type(1) > td:nth-of-type(7)"));
JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript("arguments[0].click();", n);
HTML 页
<td class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignLeft"><span class="more-icon "><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></path></svg></span></td>
我也试过 action class 和 javaexecuter,但没用。
我认为您正试图点击 SVG 图像,其处理方式与传统元素不同。
driver.find_element(By.XPATH, "//*[name()='svg' and @class='MuiSvgIcon-root')]")
如果 svg 是您要单击的内容,这应该有效。
如果 DOM 中只有一个 svg 元素,那么像下面这样的简单 svg 定位器应该可以工作。
driver.find_element(By.XPATH, "//*[name()='svg']")
WebElement n=driver.findElement(By.cssSelector("tr:nth-of-type(1) > td:nth-of-type(7)"));
JavascriptExecutor j = (JavascriptExecutor) driver;
j.executeScript("arguments[0].click();", n);
HTML 页
<td class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignLeft"><span class="more-icon "><svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"><path d="M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></path></svg></span></td>
我也试过 action class 和 javaexecuter,但没用。
我认为您正试图点击 SVG 图像,其处理方式与传统元素不同。
driver.find_element(By.XPATH, "//*[name()='svg' and @class='MuiSvgIcon-root')]")
如果 svg 是您要单击的内容,这应该有效。 如果 DOM 中只有一个 svg 元素,那么像下面这样的简单 svg 定位器应该可以工作。
driver.find_element(By.XPATH, "//*[name()='svg']")