鱼C论坛

 找回密码
 立即注册
查看: 1472|回复: 26

[已解决]python使用selenium中某些链接没法点击

[复制链接]
发表于 2024-2-22 10:14:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
微信图片_20240222100518.png

Xpath路径是:/html/body/app-root/layout-fullscreen/div[5]/app-nobanner/app-notice-notice/nz-card[2]/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr[1]/td[1]/span/a

然后就报错了
最佳答案
2024-2-22 13:40:41
python小小白哟 发表于 2024-2-22 10:52
还是不行啊  来个人吧   帮忙解决一下  谢谢了

这怪不得ai

因为ai没法帮你去测试代码,所以它并不知道查询结果会打开一个新的窗口,你的代码因为没有切换窗口所以找不到查询结果的元素

以下是我帮你修改后的代码:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

option = webdriver.EdgeOptions()
option.add_experimental_option("detach", True)
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option("useAutomationExtension",False)
option.add_argument("User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0")

browser = webdriver.Edge(options=option)
browser.get("https://eproport.crecgec.com/#/home")
time.sleep(2)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div[zxsq-anti-bbcode-2]/div/div/nz-input-group/span/input").send_keys("钢")
time.sleep(3)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div[zxsq-anti-bbcode-2]/div/div/nz-input-group/span/span/button/span[zxsq-anti-bbcode-2]").click()
time.sleep(3)

# 添加的代码 **************************************************************
# 获取当前窗口句柄
current_window = browser.current_window_handle

# 获取所有窗口句柄
all_windows = browser.window_handles

# 切换到新打开的窗口
for window in all_windows:
    if window != current_window:
        browser.switch_to.window(window)
        break
# **********************************************************************************

browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div[zxsq-anti-bbcode-5]/app-nobanner/app-notice-notice/nz-card[zxsq-anti-bbcode-2]/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr[zxsq-anti-bbcode-1]/td[zxsq-anti-bbcode-1]/span/a").click()
time.sleep(3)

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-22 10:14:48 | 显示全部楼层
出现这种情况可能是因为链接是通过JavaScript生成的,而不是直接在HTML中写入的。Selenium默认在创建WebDriver对象时会开启一个隐式等待,这意味着当Selenium找不到元素时会等待一段时间再尝试找到它。但是,对于动态生成的元素,隐式等待可能不够稳定。

为了解决这个问题,你可以尝试使用显式等待来等待链接出现并可点击。以下是一个使用显式等待的例子:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 创建WebDriver对象,这里使用Chrome浏览器举例
driver = webdriver.Chrome()

# 访问网页
driver.get("your_url_here")

# 设置最长等待时间为10秒
wait = WebDriverWait(driver, 10)

# 使用显式等待等待链接出现并可点击
link = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))

# 点击链接
link.click()

# 关闭浏览器
driver.quit()

希望以上代码能够帮助到你!如果问题还未解决,请提供更多详细信息,以便我能够给出更准确的答案。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:24:58 | 显示全部楼层
import time
from selenium import webdriver
from selenium.webdriver.common.by import By

option = webdriver.EdgeOptions()
option.add_experimental_option("detach", True)
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option("useAutomationExtension",False)
option.add_argument("User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0")

browser = webdriver.Edge(options=option)
browser.get("https://eproport.crecgec.com/#/home")
time.sleep(2)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div[2]/div/div/nz-input-group/span/input").send_keys("钢")
time.sleep(3)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div[2]/div/div/nz-input-group/span/span/button/span[2]").click()
time.sleep(3)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div[5]/app-nobanner/app-notice-notice/nz-card[2]/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr[1]/td[1]/span/a").click()
time.sleep(3)


代码如上,该如何修改呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:25:21 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:24
import time
from selenium import webdriver
from  ...


根据你提供的代码,看起来你使用的是Microsoft Edge浏览器和对应的WebDriver。在这种情况下,可能需要使用显式等待以确保页面上的元素正确加载并可点击。

请尝试以下修改:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

option = webdriver.EdgeOptions()
# 添加其他选项...

browser = webdriver.Edge(options=option)
browser.get("https://eproport.crecgec.com/#/home")

# 等待页面加载完成
wait = WebDriverWait(browser, 10)
input_element = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/input")))
input_element.send_keys("钢")

# 点击搜索按钮
button_element = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span")))
button_element.click()

# 等待链接出现并点击
link = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
link.click()

# 进行其他操作...

time.sleep(3)
browser.quit()

在这个修改后的代码中,我们使用`WebDriverWait`类配合`expected_conditions`模块来设置显式等待条件。这样,可以确保页面上的元素已加载并可操作。希望这样能解决你的问题!如果还有其他问题,请随时提出。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:27:21 | 显示全部楼层
FishC 发表于 2024-2-22 10:25
根据你提供的代码,看起来你使用的是Microsoft Edge浏览器和对应的WebDriver。在这种情况下,可能需要 ...

还是不行  第23行代码报错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:27:42 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:27
还是不行  第23行代码报错了。


抱歉,看起来在你的代码中确实有一行存在错误。错误可能是由于XPath路径错误或元素不能被点击导致的。请尝试使用以下修改:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

option = webdriver.EdgeOptions()
# 添加其他选项...

browser = webdriver.Edge(options=option)
browser.get("https://eproport.crecgec.com/#/home")

# 等待页面加载完成
wait = WebDriverWait(browser, 10)
input_element = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/input")))
input_element.send_keys("钢")

# 点击搜索按钮
button_element = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span")))
button_element.click()

# 等待链接出现并点击
link = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
link.click()

# 进行其他操作...
time.sleep(3)
browser.quit()

请注意检查XPath路径是否正确,并确保元素在加载完成后可点击。如果问题仍然存在,请提供详细的错误信息,以便更好地帮助您解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:32:49 | 显示全部楼层
报错信息如下:
link = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
  File "C:\Users\XXXXXXXX\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\wait.py", line 105, in until
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:33:18 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:32
报错信息如下:
link = wait.until(EC.element_to_b ...


根据错误信息,报错是发生在`wait.until()`方法上。这种情况下,可能是因为等待超时导致的。你可以尝试将等待时间延长一些,看看是否能解决问题。另外,你也可以尝试使用其他等待条件来等待元素可点击,例如`element_to_be_clickable()`或`element_to_be_clickable()`。以下是修改后的代码:import timefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECoption = webdriver.EdgeOptions()# 添加其他选项...browser = webdriver.Edge(options=option)browser.get("https://eproport.crecgec.com/#/home")# 等待页面加载完成wait = WebDriverWait(browser, 10)input_element = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/input")))input_element.send_keys("钢")# 点击搜索按钮button_element = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span")))button_element.click()# 等待链接出现并点击try:    link = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))    link.click()except:    print("链接无法点击")# 进行其他操作...time.sleep(3)browser.quit()请尝试上述修改,并注意监视控制台输出,以便查看是否会打印出"链接无法点击"的提示。如果问题仍然存在,请提供详细的错误信息,以便更好地帮助您解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:34:00 | 显示全部楼层
FishC 发表于 2024-2-22 10:33
根据错误信息,报错是发生在`wait.until()`方法上。这种情况下,可能是因为等待超时导致的。你可以尝试 ...

代码排下版
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:34:19 | 显示全部楼层


抱歉,这里是排版后的代码:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

option = webdriver.EdgeOptions()
# 添加其他选项...
browser = webdriver.Edge(options=option)
browser.get("https://eproport.crecgec.com/#/home")

# 等待页面加载完成
wait = WebDriverWait(browser, 10)
input_element = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/input")))
input_element.send_keys("钢")

# 点击搜索按钮
button_element = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span")))
button_element.click()

# 等待链接出现并点击
try:
    link = wait.until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
    link.click()
except:
    print("链接无法点击")

# 进行其他操作...
time.sleep(3)
browser.quit()

请尝试以上代码,并注意监视控制台输出,以便查看是否会打印出"链接无法点击"的提示。如果问题仍然存在,请提供详细的错误信息,以便更好地帮助您解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:35:34 | 显示全部楼层
FishC 发表于 2024-2-22 10:34
抱歉,这里是排版后的代码:

抛出异常    链接无法点击
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:36:01 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:35
抛出异常    链接无法点击


如果链接无法点击,可能有以下几种原因:

1. 元素的定位方式不正确:请确保XPATH路径是准确的,并且可以找到对应的元素。你可以使用浏览器的开发者工具来验证XPATH路径是否正确。

2. 元素在加载完成之前尝试点击:在等待链接出现之前,页面可能还没有完全加载完成。你可以使用`presence_of_element_located`来等待元素的出现,然后再尝试点击链接。

3. 元素被其他元素遮挡:有时候,链接可能被其他元素遮挡,导致无法点击。你可以尝试模拟鼠标操作来点击元素,而不是使用`click()`方法。

以下是修改后的代码示例,添加了一些额外的等待时间来确保页面加载完成,并使用模拟鼠标操作来点击链接:
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

option = webdriver.EdgeOptions()
# 添加其他选项...
browser = webdriver.Edge(options=option)
browser.get("https://eproport.crecgec.com/#/home")

# 等待页面加载完成
time.sleep(3)

# 输入搜索关键字
input_element = browser.find_element(By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/input")
input_element.send_keys("钢")

# 点击搜索按钮
button_element = browser.find_element(By.XPATH, "/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span")
button_element.click()

# 等待链接出现并点击
try:
    link = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
    ActionChains(browser).move_to_element(link).click().perform()
except:
    print("链接无法点击")

# 进行其他操作...
time.sleep(3)
browser.quit()

请尝试以上修改并查看是否能够成功点击链接。如果问题仍然存在,请提供更多详细信息,以便我可以更好地帮助您解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:42:15 | 显示全部楼层
FishC 发表于 2024-2-22 10:36
如果链接无法点击,可能有以下几种原因:

1. 元素的定位方式不正确:请确保XPATH路径是准确的,并且 ...

依然抛出链接无法点击异常
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:42:33 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:42
依然抛出链接无法点击异常


如果链接仍然无法点击,可能是由于页面加载的过程中存在异步操作或者其他JavaScript代码的影响。在这种情况下,你可以尝试使用`execute_script()`方法来执行一些JavaScript操作,例如模拟点击链接。以下是一个示例代码:from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC# 创建WebDriver对象,这里使用Chrome浏览器举例browser = webdriver.Chrome()# 访问网页browser.get("your_url_here")# 使用显式等待等待链接出现link = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))# 使用JavaScript模拟点击链接browser.execute_script("arguments[0].click();", link)# 关闭浏览器browser.quit()希望以上代码能够解决问题!如果问题仍存在,请提供更多详细信息,以便我可以更好地帮助你解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:42:52 | 显示全部楼层
FishC 发表于 2024-2-22 10:42
如果链接仍然无法点击,可能是由于页面加载的过程中存在异步操作或者其他JavaScript代码的影响。在这种 ...

代码排版下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:43:04 | 显示全部楼层


以下是排版过的代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 创建WebDriver对象,这里使用Chrome浏览器举例
browser = webdriver.Chrome()

# 访问网页
browser.get("your_url_here")

# 使用显式等待等待链接出现
link = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))

# 使用JavaScript模拟点击链接
browser.execute_script("arguments[0].click();", link)

# 关闭浏览器
browser.quit()

希望这次的代码格式更清晰,并能解决你的问题。如果问题仍然存在,请提供更多详细信息,以便我可以更好地帮助你解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:48:45 | 显示全部楼层
FishC 发表于 2024-2-22 10:43
以下是排版过的代码:

报错如下:

    link = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
  File "C:\Users\XXXXXXX\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:49:09 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:48
报错如下:

    link = WebDriverWait(browser, 10) ...


TimeoutException意味着等待超时,即在指定的时间内没有找到可点击的元素。这可能是因为要等待的链接在指定的时间内没有加载完成或者无法点击。

你可以尝试以下方法来解决问题:

1. 增加等待时间:将显式等待的等待时间增加到更长的时间,看看是否可以等待到链接出现和可点击。例如,将等待时间从10秒增加到20秒。

2. 查看页面加载情况:使用Selenium打开页面后,请确保页面完全加载完成后再进行查找和点击操作。你可以尝试使用`time.sleep(5)`添加一个适当的延迟,以确保页面已经加载完成。

3. 检查Xpath路径:请确保提供的Xpath路径确实指向正确的元素。你可以使用浏览器的开发者工具来验证Xpath路径是否正确。

4. 尝试使用其他方式查找元素:如果Xpath无法正常工作,你可以尝试使用其他定位器,如`By.ID`、`By.CLASS_NAME`等来查找元素。

5. 考虑页面动态性:如果页面是动态加载的,并且链接在某些条件下才会出现,那么你可能需要进一步分析页面的加载过程,并使用相应的等待条件来等待链接的出现。

希望以上方法能够帮助你解决问题。如果问题仍然存在,请提供更多详细信息,以便我可以给出更具体的解决方案。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-22 10:52:47 | 显示全部楼层
FishC 发表于 2024-2-22 10:49
TimeoutException意味着等待超时,即在指定的时间内没有找到可点击的元素。这可能是因为要等待的链接在 ...

还是不行啊  来个人吧   帮忙解决一下  谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-22 10:52:58 | 显示全部楼层
python小小白哟 发表于 2024-02-22 10:52
还是不行啊  来个人吧   帮忙解决一下  谢谢了


当然,我会尽力帮助你解决问题。请尝试以下代码来点击链接:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 创建WebDriver对象, 这里使用Chrome浏览器举例
driver = webdriver.Chrome()

# 访问网页
driver.get("your_url_here")

# 设置最长等待时间为10秒
wait = WebDriverWait(driver, 10)

# 使用显式等待等待链接可见并点击
link = wait.until(EC.visibility_of_element_located((By.XPATH, "/html/body/app-root/layout-fullscreen/div/app-nobanner/app-notice-notice/nz-card/div/nz-table/nz-spin/div/div/nz-table-inner-default/div/table/tbody/tr/td/span/a")))
link.click()

# 关闭浏览器
driver.quit()

如果以上代码仍然无法点击链接,请提供更多关于报错信息或者页面结构的详细信息,这样我才能更好地帮助你解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 14:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表