gpt4 book ai didi

javascript - Python selenium-单击 javascript 链接不会加载新页面但会显示 url

转载 作者:行者123 更新时间:2023-11-30 00:18:29 31 4
gpt4 key购买 nike

我是 Python 的新手,第一次使用 selenium。我需要什么:

  1. 打开http://www.kegg.jp/kegg-bin/get_htext?ban00001.keg
  2. 单击顶部的第 4 个向下箭头 the one next to the check-box named "one-click mode"
  3. 获取该页面的 html 源代码

我尝试了什么:我尝试使用 selenium 单击按钮,它重新加载了同一页面,即使 url 显示了下一页。我的代码:

driver.get("http//www.kegg.jp/kegg-bin/get_htext?ban00001.keg")
mouse = webdriver.ActionChains(driver) elem=driver.find_element_by_xpath("//img[@src='/Fig/get_htext/open.png']")
mouse.move_to_element(elem)
driver.implicitly_wait("5")
mouse.click().perform()

我也试图避免点击并直接填写按钮提交的表单,但似乎我填写了错误的 xpath,因为它找不到元素。

elem=driver.find_element_by_xpath("/body/form/input[@name='htext']").send_keys('ban00001.keg')

有人能告诉我为什么点击不起作用以及我的 xpath 怎么错了吗?但主要是,我怎样才能实现打开页面的目标。请帮忙。这相当于 10 个大学学分,因此我的项目严重落后!

最佳答案

首先,有4个几乎一模一样的箭头。由于您需要第 4 个,我会使用 alt 属性来区分箭头:

driver.find_element_by_xpath("//img[@alt='4th Level']")

当您点击箭头时,页面加载需要时间 - 您需要等待。我会等待主页网格通过 visibility_of_element_located 预期条件变得可见。

完整的工作代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait


driver = webdriver.Chrome()
driver.get("http://www.kegg.jp/kegg-bin/get_htext?ban00001.keg")

# locating the 4th arrow
arrow4 = driver.find_element_by_xpath("//img[@alt='4th Level']")
arrow4.click()

# wait for the grid to become visible
wait = WebDriverWait(driver, 10)
wait.until(expected_conditions.visibility_of_element_located((By.ID, "grid")))

print(driver.page_source)

driver.quit()

关于javascript - Python selenium-单击 javascript 链接不会加载新页面但会显示 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33975305/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com