所以,我试着用下面的代码向下滚动到某个文本出现,但是当我进入页面时,驱动程序就退出了,代码如下。在
def scroll_wait():
wait = WebDriverWait(driver, 10)
find_elem = None
scroll_from = 0
scroll_limit = 3000
while not find_elem:
sleep(2)
driver.execute_script("window.scrollTo(%d, %d);" % (scroll_from, scroll_from + scroll_limit))
scroll_from += scroll_limit
try:
find_elem = wait.until(EC.presence_of_element_located((By.XPATH, "//h3[@class='uiHeaderTitle']")))
except TimeoutException:
pass
driver.close()
我也在尝试下面的XPATH
,但它只是在文本之后继续滚动
这是我要滚动到的文本的HTML代码。在
<h3 class="uiHeaderTitle">More About You</h3>
对于Selenium,一个好的测试方法是构建一个只包含您想要的内容(例如h3)的纯HTML页面并模拟场景。我真的不知道您的问题,但是您可以尝试的一个更改是
presence_of_element_located
如果它在DOM中,将返回true,这意味着它不需要可见,这可能是它立即退出的原因。尝试更改为visibility_of_element_located
希望有帮助!在
相关问题 更多 >
编程相关推荐