如何连续向下滚动页面直到找到元素? Pythonselenium

如何连续向下滚动页面直到找到元素? Pythonselenium,第1张

如何连续向下滚动页面直到找到元素? Pythonselenium

这是完全有效的代码,可按照您在
注释中所述解决您的问题。

其他人提出的答案实际上是向下滚动到
页面底部,然后给出错误。然后我注意到,如果滚动
到底部淹没,那么只会加载底部,而不会加载
中间的所有部分。(Dipak的回答对我也不起作用。也许这
对您以及我来说都是解决问题的方法:),正如他在聊天中所说的那样)

因为您想要的东西出现在页面之间,而不是在底部。因此,只有
底部始终加载。所以现在我们需要做其他事情。

现在,我们要向下滚动到所需的部分。而
做一个自定义滚动下来,我使用

driver.execute_script("scroll(0,1600)")
. 我还从代码中删除了所有不必要的内容,并使其非常简单明了。

from selenium import webdriverfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.action_chains import ActionChainsimport timedriver = webdriver.Chrome(executable_path=r"C:UsersintelDownloadsSetupschromedriver")driver.get('https://www.linkedin.com/login?fromSignIn=true&trk=guest_homepage-basic_nav-header-signin')driver.maximize_window()WebDriverWait(driver, 10).until(    EC.element_to_be_clickable((By.NAME, "session_key"))).send_keys("EMAIL")WebDriverWait(driver, 10).until(    EC.element_to_be_clickable((By.NAME, "session_password"))).send_keys("PASSWORD")WebDriverWait(driver, 10).until(    EC.element_to_be_clickable((By.XPATH, "//button[@]"))).click()driver.get("https://www.linkedin.com/in/kate-yun-yi-wang-054977127/?originalSubdomain=hk")driver.maximize_window()driver.execute_script("scroll(0, 1600)")time.sleep(5)buttonClick = driver.find_element_by_xpath("/html/body/div[6]/div[4]/div[3]/div/div/div/div/div[2]/main/div[2]/div[6]/div/section/div[2]/button/span[1]").click()

也可以使用

--headless
浏览器更快地加载任务。如果可能的
话,请使用
css_selectors
other than
XPATH's
, cauz 以外的其他工具,它们是最慢
的刮刀定位器。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5015972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存