python - 在 Python Selenium 中通过 xPath 定位表元素

标签 python html selenium

我复制了我试图点击的某个元素的 xPath 并获得了以下内容:

//*[@id="ctl00_ctl00_ctl00_body_homebody_PageMainContent_ResultsGrid_ctl00__0"]/td[1]/a

然后我的代码包含以下内容:

driver.find_element_by_id("//*[@id="ctl00_ctl00_ctl00_body_homebody_PageMainContent_ResultsGrid_ctl00__0"]/td[1]/a").click()

知道为什么我会收到这个错误:r aise exception_class(消息,屏幕,堆栈跟踪) selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素

最佳答案

XPATH 可能包含 id(或许多其他 HTML 标记),但这并不意味着 id 就是 XPATH。使用:

driver.find_element_by_xpath('//*[@id="ctl00_ctl00_ctl00_body_homebody_PageMainContent_ResultsGrid_ctl00__0"]/td[1]/a').click()

它应该可以工作 - 假设您网站上的那个位置有一个有效的 XPATH。

另外,回复:您对 OP 的评论 - //* 指定相对 XPATH 与绝对 XPATH - 本质上意味着它跳过初始和标签并直接进入 DOM 的中间。

关于python - 在 Python Selenium 中通过 xPath 定位表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473568/

相关文章:

java - 将 WebElement 转换为 int

java - Selenium webdriver 正在寻找 Chrome.exe 的错误路径

asp.net - Selenium 测试有时会失败,有时会通过

python - 我怎样才能让我的函数返回其他值然后 None

python - 使用 Python 请求进行 Rest API 身份验证和访问

jquery - 将 div 附加到 div 以创建 div 网格

html - 如何将段落与表格中单元格的中心对齐

css - 让 2 个 div 填充页面的其余部分

python - 如何在 C 代码中返回 pyrun_simplefile 的输出

python - 从列表创建的表未显示所有元素