我试图找到一种方法来点击“X”按钮,但我找不到方法来点击这个按钮。
元素副本:
<div style="cursor: pointer; float:right; border-radius: 3px; background-color: red; font-size: 10px; color: white; height: 15px; width:15px; line-height: 15px;" onclick="fecharModal();">X</div>
Xpath:
//*[@id="meu_modal"]/div
Css选择器:
#meu_modal > div
尝试:
driver.find_element_by_css_selector("a[onclick*=fecharModal]").click();
进口:
从selenium从selenium导入webdriver。网络驱动程序。常见的密钥从selenium导入密钥。网络驱动程序。支持ui导入从selenium中选择。网络驱动程序。常见的由硒进口。网络驱动程序。支持ui从selenium导入WebDriverWait。网络驱动程序。支持从selenium将预期的_条件作为EC导入。常见的异常从selenium导入NoSuchElementException。网络驱动程序。常见的操作链导入操作链导入时间在此处输入代码
这似乎是一个基于角度的应用程序,主要是WebDriverWait
应该完成这项工作,但仍然低于solutionillustart
Selenium中所有单击web元素的方法。代码试用2更可取,并且是最佳实践。
我会用这个xpath
//div[@onclick='fecharModal();' and text()='X']
代码试验1:
time.sleep(5)
driver.find_element_by_xpath("//div[@onclick='fecharModal();' and text()='X']").click()
代码试验2:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@onclick='fecharModal();' and text()='X']"))).click()
代码试用3:
time.sleep(5)
button = driver.find_element_by_xpath("//div[@onclick='fecharModal();' and text()='X']")
driver.execute_script("arguments[0].click();", button)
代码试验4:
time.sleep(5)
button = driver.find_element_by_xpath("//div[@onclick='fecharModal();' and text()='X']")
ActionChains(driver).move_to_element(button).click().perform()
进口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
PS:如果我们在HTMLDOM
中有唯一的条目,请在devtools
(谷歌浏览器)中查看。
检查步骤:
按F12Chrome
假设您提供的xpath是准确的,我建议您尝试使用此代码,这可能对您有用。
yourEle = driver.find_element_by_xpath("//*[@id='meu_modal']/div")
driver.execute_script("arguments[0].click();", yourEle)
我尝试使用xpath和classname来定位并单击按钮。然而,什么都不管用。 driver.find_element(By.XPATH,“//button[@class='sc-cqCuEk ffSPoi MuiButtonBase root sc dliRfk hLpdQI MuiAccordionSummary root Mui展开的MuiAccountionSummarygutters s
我必须找出XPath的代码: 使用firebug,XPath是: /html/body/div/div/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr/td /table/tbody/tr[5]/td/div/div/form/table/tbody/tr[2]/td[4]/输入 但我如何能有一个更短的XPath?例
最近,我用硒在网站上抓取了一些信息。我想做的只是点击“上个月的按钮”。 所以我写这样的代码 但它不起作用,我改变了很多次,像这样改变代码 这些都不管用。当我尝试使用三个试用版中的第一个时(即:web driver . find _ element _ by _ CSS _ selector(' a . ui-icon ui-icon-circle-triangle-w ')。单击()),弹出的错误
问题内容: 我正在尝试通过angularjs在html中查找元素。 这是html: 我试图通过类名多文件来获取按钮元素,然后我尝试 但是它不起作用,并且尝试过,但仅对标签起作用。 在angularjs中,有没有可以通过ID或类名获取元素的函数? 问题答案: 是DOM文档上的函数。它既不是jQuery也不是jqLite函数。 使用时不要在类名前添加句号: 将其包装在jqLite中(如果在An
我正在使用硒网络驱动程序与python来浏览网站,我无法弄清楚如何选择这个按钮。 按钮被一个类包围,但在该类中有两个按钮。我试过使用 没有明显的id,所以我被卡住了,如果这是琐碎的,我道歉。我如何点击这个按钮?