Selenium Javascript Executor Click()在实际单击页面之前先搜索页面上的元素

问题描述 投票:-1回答:1

我正在使用Selenium自动化网站,但是click()无法正常工作。它返回一个无法滚动到视图中的元素。

我使用Javascript Executor来调用click(),编写代码以在click()之后单击的页面上查找元素。但是,Selenium会在其单击网站之前尝试查找该元素。

我在脚本运行时检查了网站,它试图找到该元素,然后单击它所在的页面。我该如何解决?

((下面的代码)]

我已尝试等待使用WebDriver单击该元素。但是,每次都超时,所以我没有主意。任何帮助表示赞赏。

  Find_Section = Driver.find_element_by_xpath('//div[contains(text()="Text"]')
  Driver.execute_script("arguments[0].click();", Find_Section)
  Tester = Driver.find_element_by_partial_link_text('Test19')
  Tester.click()

编辑:

我相信我已经根据WebDriver click() vs JavaScript click()找出了问题所在click()的行为类似于实际用户,execute_script则不这样做,只是调用该事件,所以我相信发生的是execute_script在事件上单击,但与click()的行为不同,因此无法正确加载页面。

我之所以使用execute_script的原因是,click()方法抛出的异常无法每次将元素滚动到视图中。

如果如此正确,我认为它不起作用的原因可能是错误的,>

我正在使用Selenium自动化网站,但是click()无法正常工作。它返回一个无法滚动到视图中的元素。我使用Javascript Executor调用click(),将代码写入...

javascript python html selenium web
1个回答
0
投票

我终于弄清楚了,因为这里没有人可以帮助任何有兴趣的人,例如您需要在下一个元素之前插入一个等待语句

© www.soinside.com 2019 - 2024. All rights reserved.