所以,我试图向下滚动直到使用以下代码显示某个文本,但是一旦我转到页面驱动程序退出,请使用以下代码。
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
,但它只是在文本之后继续滚动,
(By.XPATH, "//*[contains(text(), 'More About You')]")
这是我试图滚动到的文本的HTML代码。
<h3 class="uiHeaderTitle">More About You</h3>
答案 0 :(得分:1)
对于Selenium,一种好的测试方法是构建一个纯HTML页面,它只包含你想要的东西(例如,一个h3)并模仿场景。我真的不知道你的问题,但你可以尝试的一个变化是presence_of_element_located
如果它在DOM中,它将返回true,这意味着它不是必需的,这可能是它立即退出的原因。尝试更改为visibility_of_element_located
希望它有所帮助!