无法使用 python 获取正确的 Xpath 传递给 Selenium

问题描述 投票:0回答:1

我被使用 jupyter 的硒刮擦困住了。我试图从此页面的右下角获取“下载页面数据”:https://polkadot.subscan.io/account?role=all&page=1

在此输入图片描述

另外,这是 html 代码:

下载页面数据

我尝试从 Google Chrome“检查”选项卡复制 xpath 和完整 xpath,但它不起作用。

这是我使用的代码,但请随意提出其他建议。

#Initiating Webdriver
s=Service('CHROMEDRIVER LOCATION')
op = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=s, options=op)

link = "https://polkadot.subscan.io/account?role=all&page=1"

driver.get(link)

Ingresar = driver.find_element(By.XPATH,"//*[@id='app']/main/div/div/div[5]/div/div[3]/div[1]/div/div")

这是我得到的错误:

ElementClickInterceptedException: Message: element click intercepted: Element <div data-v-24af4670="" class="label align-items-center">...</div> is not clickable at point (125, 721). Other element would receive the click: <div data-v-c018c6b4="" class="banner">...</div>

修复我的代码,或者获取一个与 jupyer 和 selenium 一起使用的新代码

python google-chrome selenium-webdriver web-scraping jupyter
1个回答
1
投票

试试这个代码:

url = "https://polkadot.subscan.io/account?role=all&page=1"
driver.get(url)

driver.find_element(By.XPATH, ".//*[text()='I accept']").click()
time.sleep(5)
download_btn = driver.find_element(By.XPATH, ".//*[text()='Download page data']")
driver.execute_script("arguments[0].scrollIntoView(true);", download_btn)
download_btn.click()
© www.soinside.com 2019 - 2024. All rights reserved.