Python selenium—单击javascript链接不会';t加载新页面,但显示url
我对Python非常陌生,第一次使用selenium。 我需要的是:Python selenium—单击javascript链接不会';t加载新页面,但显示url,javascript,python,python-3.x,selenium,xpath,Javascript,Python,Python 3.x,Selenium,Xpath,我对Python非常陌生,第一次使用selenium。 我需要的是: 打开 单击顶部的第四个向下箭头 获取该页面的html源代码 我尝试的内容:我尝试使用selenium单击按钮,它重新加载了相同的页面,即使url显示了下一页。 我的代码: 我还试图避免单击并直接填充按钮提交的表单,但似乎我填充了错误的xpath,因为它找不到元素 elem=driver.find_element_by_xpath("/body/form/input[@name='htext']").send_keys('ban
elem=driver.find_element_by_xpath("/body/form/input[@name='htext']").send_keys('ban00001.keg')
有人能告诉我为什么点击不起作用,我的xpath是怎么错的吗?但主要是,我如何才能实现打开页面的目标。请帮忙。这相当于10个大学学分,因此我的项目严重落后 首先,有4个几乎相同的箭头。由于您需要第四个,我将使用
alt
属性来区分箭头:
driver.find_element_by_xpath("//img[@alt='4th Level']")
当您单击箭头时,页面加载需要时间-您需要等待。我会等待主页网格通过位于预期条件下的元素的可见性变得可见
完整的工作代码:
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()
非常感谢你这么做。我不敢相信我没有注意到所有@src都有相同的值。我觉得自己很愚蠢。另外,您会说“直到元素的可见性”总是比“隐式地”更可取吗?
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()