【发布时间】:2020-04-19 02:08:05
【问题描述】:
我无法在 Linkedin 页面上选择加载更多按钮。我在查找 xpath 时收到此错误:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element
我怀疑问题在于当时该按钮在页面上不可见。所以我试过actions.move_to_element。但是,页面在元素下方滚动,因此该元素不再可见,并且随后会发生相同的错误。
我也尝试过move_to_element_with_offset,但这并没有改变页面滚动到的位置。
如何滚动到页面上的正确位置以便成功选择元素?
我的相关代码:
import parameters
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
ChromeOptions = webdriver.ChromeOptions()
driver = webdriver.Chrome('C:\\Users\\Root\\Downloads\\chromedriver.exe')
driver.get('https://www.linkedin.com/login?fromSignIn=true&trk=guest_homepage-basic_nav-header-signin')
sleep(0.5)
username = driver.find_element_by_name('session_key')
username.send_keys(parameters.linkedin_username)
sleep(0.5)
password = driver.find_element_by_name('session_password')
password.send_keys(parameters.linkedin_password)
sleep(0.5)
sign_in_button = driver.find_element_by_xpath('//button[@class="btn__primary--large from__button--floating"]')
sign_in_button.click()
driver.get('https://www.linkedin.com/in/kate-yun-yi-wang-054977127/?originalSubdomain=hk')
loadmore_skills=driver.find_element_by_xpath('//button[@class="pv-profile-section__card-action-bar pv-skills-section__additional-skills artdeco-container-card-action-bar artdeco-button artdeco-button--tertiary artdeco-button--3 artdeco-button--fluid"]')
actions = ActionChains(driver)
actions.move_to_element(loadmore_skills).perform()
#actions.move_to_element_with_offset(loadmore_skills, 0, 0).perform()
loadmore_skills.click()
【问题讨论】: