注意:我特别处理这个website
如何将selenium与Python一起使用以获得对this page的评论,并按“最近”排序?在
我尝试的是:
driver.find_element_by_id('sort-order-dropdown').send_keys('Most recent')
来自this没有引起任何错误,但不起作用。在
然后我试过了
^{pr2}$我有:Message: Element <select id="sort-order-dropdown" class="a-native-dropdown" name=""> is not clickable at point (66.18333435058594,843.7999877929688) because another element <span class="a-dropdown-prompt"> obscures it
这个
element = driver.find_element_by_id('sort-order-dropdown')
element.click()
li = driver.find_elements_by_css_selector('#sort-order-dropdown > option:nth-child(2)')
li.click()
从this引起相同的错误消息
来自this的这个也导致了相同的错误
Select(driver.find_element_by_id('sort-order-dropdown')).select_by_value('recent').click()
所以,我很想知道有没有什么方法可以让我从最近的第一篇评论中挑选出来。在
谢谢你
这是我从最近的评论中整理出来的简化版。正如上面“Eugene S”所说,关键点是点击按钮本身并从列表中选择/点击所需的项目。但是,我的Python代码使用XPath而不是选择器。在
这对我使用Java很有效:
可以重用元素名称,并使用Python遵循类似的路径。在
这里的要点是:
更好的做法是不要硬编码项目编号,而是实际读取项目名称并选择正确的项目名称,这样即使菜单更改也能正常工作。这只是对未来改进的一个注释。在
编辑 这就是在Python中实现同样的功能的方法。在
^{pr2}$请记住,css选择器是xpath更好的选择,因为它们更快、更健壮、更易于阅读和更改。在
相关问题 更多 >
编程相关推荐