如何在Selenium中使链接列表可点击
我有一段代码,可以找到网站上的所有链接,但我需要以一种方式存储这些链接,这样在运行Selenium的时候,我就可以点击特定的链接。
这是我的代码,我希望Selenium在我使用click()函数时能够打开特定的网站。请问我哪里做错了!
import selenium
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://www.python.org"
driver = webdriver.Chrome()
driver.get(url)
driver.minimize_window()
links = WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, "//a")))
for link in links:
href = link.get_attribute("href")
if href is not None:
print(href)
#
# go to link 0
#
link(0).click
driver.quit()
这是生成的错误信息
Traceback (most recent call last):
File "/media/joe-2/Ubuntu-Storage1/Exuma-Snoops/RGD-code/link-test-2.py", line 25, in <module>
link(0).click
TypeError: 'WebElement' object is not callable
1 个回答
0
这个说法是不对的:
link(0).click
获取列表中第一个索引并点击它的正确方法如下:
links[0].click()
更新: links[0].click()
这个代码只是会点击找到的元素,并不会在浏览器中打开链接的URL。
要打开从href中提取的URL,可以使用下面的代码:
driver.get(links[0].get_attribute("href"))