【发布时间】:2021-07-30 13:48:38
【问题描述】:
大家好! 今天我正在使用 Python 3 和 Selenium Web 驱动程序。我在按元素查找时遇到问题。这是 HTML:
<a _ngcontent-pxc-c302="" class="name ng-star-inserted" href="/person/20d4a795d3fb43bdbee7e480df27b05b">michele regina</a>
目标是点击出现在列出的列中的名字。
每次刷新页面时名称都会更改。这带来了两个问题,链接文本是名称并且它会发生变化,并且对于每个不同的名称,链接也会不断变化,除了 /person/ 的部分。
我尝试了以下方法:
driver.find_element_by_css_selector("a.name ng-star-inserted").click()
driver.find_element_by_class_name("name ng-star-inserted").click()
这导致元素不是可点击的错误。 我还通过复制和粘贴从 Google 检查器复制的整个 XPath 来尝试 xpath...lol
driver.find_element_by_xpath('/html/body/app-root/app-container/div/div/tc-app-view/div/div/div/ng-component/mat-sidenav-container/mat-sidenav-content/div/div[2]/tc-person-table-container/tc-collapse-expand[1]/section/tc-person-table/table/tbody/tr[1]/td[2]/tc-person-table-cell/a').click()
它有时会起作用,这很奇怪,但我相信必须有更好的方法。非常感谢您!任何帮助表示赞赏!另外,我对 Python 很陌生,我对 HTML 的了解为零,而且我对堆栈也比较陌生!谢谢!
【问题讨论】:
-
你能分享一个网页链接吗?
-
不抱歉,它在登录范围内,我不能放弃它。但也许我可以获得更多的 HTML,这会有用吗?我只是不知道要寻找什么。
-
分享整个页面的 HTML,或者至少大块的 HTML 可能会有所帮助
标签: python selenium selenium-webdriver xpath