有人能告诉我如何在python上为selenium编写xpath吗?

有人能告诉我如何在python上为selenium编写xpath吗?,python,python-3.x,selenium,selenium-webdriver,xpath,Python,Python 3.x,Selenium,Selenium Webdriver,Xpath,我在单击网页中的元素时遇到问题。我正试图通过以下方式做到这一点: WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "..........']"))).click() 问题是如何在所有情况下正确编写XPath,使其适合此函数 您可以找到一个很好的教程,它将教您xPath基础知识。在网页上,当您按下F12时,开发工具将打开: 然后单击其中一个元素,然后按Ctrl+f。然后,搜索菜单将打开: 在那里,您可

我在单击网页中的元素时遇到问题。我正试图通过以下方式做到这一点:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "..........']"))).click()
问题是如何在所有情况下正确编写XPath,使其适合此函数

您可以找到一个很好的教程,它将教您xPath基础知识。在网页上,当您按下
F12
时,开发工具将打开:

然后单击其中一个元素,然后按Ctrl+f。然后,搜索菜单将打开:

在那里,您可以键入XPath和CSS选择器以确保找到了正确的元素。例如:

WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//div")))

键入yor xPath后,您将在右侧看到找到的元素数,还可以单击
向上
向下
按钮来迭代每个元素,以查看元素在编号1,2上的确切位置

找到正确的xPath后,只需从开发工具中复制它,然后像这样粘贴到代码中:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div"))).click()
在这种情况下,将只选择一个元素。如果要等待所有元素,如果有多个元素,只需使用
EC
方法之一,例如:

WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//div")))
这将等待
//div
xPath定位的所有元素的可见性


希望这有帮助。

请分享相关HTMLCreate!这非常有帮助。你能告诉我为什么这行代码会给我一个TimeoutException吗?(关键是它可以工作,但它也会给我错误并停止程序)WebDriverWait(driver,20)。直到(EC.element_to_be__可点击((By.XPATH,“//*[@id='AutoNumber1']///a[href='lnkdati.htm'])。点击()这是因为该元素不可点击,或者它是一个错误的元素。我没有确切的HTML,但您可能有一个输入错误=>
a[href='lnkdati.htm']
应该是
a[href='lnkdati.HTML']
。签入开发工具我的坏。。问题是,基本上我已经在不知情的情况下完成了这个操作,并且用那行代码我试图再次执行,但我已经在另一页上了。无论如何,非常感谢你!