Javascript 使用python selenium中的JS脚本向下滚动
因此,我试图用下面的代码向下滚动,直到某个文本出现,然而,一旦我进入页面,驱动程序就会用下面的代码退出Javascript 使用python selenium中的JS脚本向下滚动,javascript,python,html,selenium,Javascript,Python,Html,Selenium,因此,我试图用下面的代码向下滚动,直到某个文本出现,然而,一旦我进入页面,驱动程序就会用下面的代码退出 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("wind
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>
对于Selenium,一个很好的测试方法是构建一个简单的HTML页面,该页面只包含您想要的内容,例如,h3和模拟场景。我真的不知道您的问题,但您可以尝试的一个更改是,如果元素位于DOM中,那么元素的存在将返回true,这意味着它不必可见,这可能是它立即退出的原因。尝试更改为所在元素的可见性
希望有帮助 对于Selenium,一个很好的测试方法是构建一个简单的HTML页面,该页面只包含您想要的内容,例如,h3和模拟场景。我真的不知道您的问题,但您可以尝试的一个更改是,如果元素位于DOM中,那么元素的存在将返回true,这意味着它不必可见,这可能是它立即退出的原因。尝试更改为元素的可见性_located@AngYC这真的很好,你可以发布一个答案,这样我就可以接受了。