我使用以下代码解决了这个问题,但在其他帖子中却没有找到解决方案,因此我尝试使自己工作正常。我现在不知道这是否是一个好的代码,因为我是Python和编程领域的新手,但确实有效。
由于我想使用可见文本(而不是按值或选项号)选择元素,因此我使用了以下代码,其中包括通过Xpath [contains(text(),'text')]查找元素,然后更改html。也许对另一个有用。
self.driver.execute_script(
"arguments[0].selected=true",
self.driver.find_element_by_xpath(
'//*[contains(text(), "%s" )]' % 'your_visible_text'
),
)
答案 0 :(得分:0)
此问题通常在chrome浏览器中发生,因为chrome使用点位置。当元素加载到DOM中但位置未在UI上固定时,会发生这种情况。可以使用某些解决方案来解决此问题:
等待:
使用WebDriverwait和Expected Conditions类。
例如:
visiblityOfElementLocated(按定位器)
或
visibilityOf(WebElement元素)
我们正在等待元素出现并在执行操作之前可见
在选择下拉菜单之前尝试最大化浏览器窗口
driver .manage()。window()。maximize();
希望此帮助。代码是使用Java硒的,请使用其对应的Python代码。