我无法单击网页中的元素。我正在尝试使用
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "..........']"))).click()
问题是如何在所有情况下正确编写xpath,以使其适合此功能?
答案 0 :(得分:1)
Here,您会找到一个不错的教程,它将教您xPath基础知识。当您按下F12
时,将在网页上打开开发工具:
然后,单击其中一个元素,然后单击Ctrl+f
。然后搜索菜单将打开:
您可以在其中键入xPaths和CSS选择器,以确保找到正确的元素。例如:
键入xor后,您将在右侧看到找到的元素数,也可以单击up
和down
按钮来遍历每个元素,以查看元素正好在数字1,2 ...
找到正确的xPath后,只需从开发工具中复制它并粘贴如下代码:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div"))).click()
在这种情况下,将仅选择一个元素。如果要等到所有元素超过1个,只需使用EC
方法之一,例如:
WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//div")))
这将等待//div
xPath定位的所有元素的可见性。
希望这会有所帮助。