【发布时间】:2021-02-28 11:08:31
【问题描述】:
我必须使用 selenium 在网页上选择一行,而我的代码无法使用 xpath 定位元素。为此,我使用了复选框的 xpath 并尝试单击它。这是我的代码。
#driver.find_element_by_xpath("/html/body/div/div/div/div[2]/div[2]/div/div[1]/table/tbody/tr[18]/td[1]/input").click()
chk= driver.find_element_by_id("/html/body/div/div/div/div[2]/div[2]/div/div[1]/table/tbody/tr[18]/td[2]")
chk.click()
#chck= driver.find_element_by_xpath("html body.nifty-ready div#container.effect div.boxed div#content-container.frame-container div.page-content")
我得到了错误:
NoSuchElementException Traceback (most recent call last)
<ipython-input-29-7c151851b480> in <module>()
66
67 #driver.find_element_by_xpath("/html/body/div/div/div/div[2]/div[2]/div/div[1]/table/tbody/tr[18]/td[1]/input").click()
---> 68 chk= driver.find_element_by_id("/html/body/div/div/div/div[2]/div[2]/div/div[1]/table/tbody/tr[18]/td[2]")
69 chk.click()
70
NoSuchElementException: Message: Unable to locate element: [id="/html/body/div/div/div/div[2]/div[2]/div/div[1]/table/tbody/tr[18]/td[2]"]
请提出一个更好的方法来做到这一点。
【问题讨论】:
-
你为什么用 xpath 调用 .find_element_by_id?
-
正如@JustinEzequiel 所指出的,将
.find_element_by_id替换为.find_element_by_xpath,它应该可以正常工作。 -
按 id 选择是一个错字。我只使用xpath。但是 xpath 不起作用,css 选择器仍在工作。我仍然需要进一步进入嵌套的 div 并选择下拉菜单
标签: python html selenium selenium-webdriver python-requests