在pythonselenium中使用JS脚本向下滚动

2024-10-03 04:32:33 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我试着用下面的代码向下滚动到某个文本出现,但是当我进入页面时,驱动程序就退出了,代码如下。在

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,但它只是在文本之后继续滚动

^{pr2}$

这是我要滚动到的文本的HTML代码。在

 <h3 class="uiHeaderTitle">More About You</h3>

Tags: 代码from文本driver驱动程序页面findxpath
1条回答
网友
1楼 · 发布于 2024-10-03 04:32:33

对于Selenium,一个好的测试方法是构建一个只包含您想要的内容(例如h3)的纯HTML页面并模拟场景。我真的不知道您的问题,但是您可以尝试的一个更改是presence_of_element_located如果它在DOM中,将返回true,这意味着它不需要可见,这可能是它立即退出的原因。尝试更改为visibility_of_element_located

希望有帮助!在

相关问题 更多 >