歌者文明清理员 发表于 2024-2-22 11:26:49

python小小白哟 发表于 2024-2-22 10:52
还是不行啊来个人吧   帮忙解决一下谢谢了

好的,你的完整源代码给一下

isdkz 发表于 2024-2-22 13:40:41

python小小白哟 发表于 2024-2-22 10:52
还是不行啊来个人吧   帮忙解决一下谢谢了

这怪不得ai{:10_256:}

因为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/div/div/nz-input-group/span/input").send_keys("钢")
time.sleep(3)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span").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/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").click()
time.sleep(3)

python小小白哟 发表于 2024-2-22 14:46:09

歌者文明清理员 发表于 2024-2-22 11:26
好的,你的完整源代码给一下

以下就是完整的代码:

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/div/div/nz-input-group/span/input").send_keys("钢")
time.sleep(3)
browser.find_element(By.XPATH,"/html/body/app-root/layout-fullscreen/div/div/div/nz-input-group/span/span/button/span").click()
time.sleep(3)
browser.find_element(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").click()
time.sleep(3)

python小小白哟 发表于 2024-2-22 14:50:26

isdkz 发表于 2024-2-22 13:40
这怪不得ai

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

你好确实是可以了,但是我用click()确实是打开了一个新的页面,并且窗口已经在新的页面了呀。为什么还得切换下页面呢?有点不解。

歌者文明清理员 发表于 2024-2-22 16:12:16

isdkz 发表于 2024-2-22 13:40
这怪不得ai

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

isdkz大佬{:10_257:}

isdkz 发表于 2024-2-22 17:05:50

python小小白哟 发表于 2024-2-22 14:50
你好确实是可以了,但是我用click()确实是打开了一个新的页面,并且窗口已经在新的页面了呀。为什么 ...

只是浏览器焦点在另一个窗口而已,driver需要你自己切换窗口的,否则还是操作原来的窗口

isdkz 发表于 2024-2-22 17:10:30

歌者文明清理员 发表于 2024-2-22 16:12
isdkz大佬

不是大佬{:10_269:}
页: 1 [2]
查看完整版本: python使用selenium中某些链接没法点击