gpt4 book ai didi

javascript - 如何使用 python selenium 单击位于 html 页面列表中没有唯一标识符的文本?

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:39 25 4
gpt4 key购买 nike

我想选择并单击此 html link 中的文本“请点击我”使用Python Selenium 。

挑战在于该项目没有唯一标识符,并且它位于列表中。

具体的html代码如下:

<li class="tile no-tile-status both price-suggestion-high"> <div class="date"> <span class="day-number"> <!-- react-text: 496 -->Click Me Please<!-- /react-text --> </span> </div> <div class="price"><span> $529 </span></div> <div class="price-suggestion-highlight"></div> </li>

我尝试了以下方法,但没有成功:

尝试1

driver.get("http://stackoverflowtest.site44.com/")
driver.find_element_by_link_text("Click Me Please").click()
#>>Message: u'no such element: Unable to locate element: {"method":"link text","selector":"Click Me Please"}\n (Session info: chrome=55.0.2883.95)\n (Driver info: chromedriver=2.24.417412 (ac882d3ce7c0d99292439bf3405780058fcca0a6),platform=Mac OS X 10.11.6 x86_64)'

尝试2

driver.get("http://stackoverflowtest.site44.com/")
driver.find_element_by_link_text("<!-- react-text: 496 -->Click Me Please<!-- /react-text -->").click()
#>>Message: u'no such element: Unable to locate element: {"method":"link text","selector":"<!-- react-text: 496 -->Click Me Please<!-- /react-text -->"}\n (Session info: chrome=55.0.2883.95)\n (Driver info: chromedriver=2.24.417412 (ac882d3ce7c0d99292439bf3405780058fcca0a6),platform=Mac OS X 10.11.6 x86_64)'

注意:我还希望能够单击列表中的其他日期,例如以下 html 元素:

<li class="tile no-tile-status both price-suggestion-high"> <div class="date"><span class="day-number"><!-- react-text: 511 -->18<!-- /react-text --></span></div> <div class="price"><span>$533</span></div> <div class="price-suggestion-highlight"></div> </li>

<li class="tile no-tile-status both price-suggestion-high"> <div class="date"><span class="day-number"><!-- react-text: 525 -->20<!-- /react-text --></span></div> <div class="price"><span>$569</span></div> <div class="price-suggestion-highlight"></div> </li>

最佳答案

通常我建议使用CSS选择器,因为它的性能更好,但这里你需要通过它的文本找到它,所以XPath可以做到这一点:

driver.find_element_by_xpath('//span[@class='day-number' and text()='Click Me Please']')

请注意:单击它不会执行任何操作...:/所以不要期望发生任何事情...

关于javascript - 如何使用 python selenium 单击位于 html 页面列表中没有唯一标识符的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41686466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com