Webdriver 不会点击第二个 link
Webdriver wont click on a second link
我想使用 selenium 制作一个机器人,但我的机器人无法访问网站的不同部分。在我的代码中,我的驱动程序成功转到 nike.com (1), then successfully clicks and loads a different link within Nike (clicks circled area in (1) and goes to (2)). Then, my problems begin here, I try to click and load a different link (2) but my driver does nothing. I know my driver found the second link because if I print out 'second.text' then I get the correct text (3)...
我对 selenium 还是个新手,我几乎不知道自己在做什么。任何帮助都会有所帮助。
谢谢。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
if __name__ == '__main__':
options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.nike.com/men")
driver.implicitly_wait(5)
first = driver.find_element(by=By.CLASS_NAME, value="prl3-sm")
first.click()
driver.implicitly_wait(5)
second = driver.find_element(by=By.CSS_SELECTOR, value='a[class="JSftBPEZ"]')
#print(second.text)
second.click()
我已经测试过了。
通过Javascript点击它被点击。
这是点击第二个 link 的代码。
second = driver.find_element(by=By.CSS_SELECTOR, value='a[class="JSftBPEZ"]')
driver.execute_script("arguments[0].click();",second)
顺便说一句,您可能需要正确定义 xpath。例如第二个 link 指向 6 个元素。但无论如何通过Javascript点击它会点击第一个选项
我想使用 selenium 制作一个机器人,但我的机器人无法访问网站的不同部分。在我的代码中,我的驱动程序成功转到 nike.com (1), then successfully clicks and loads a different link within Nike (clicks circled area in (1) and goes to (2)). Then, my problems begin here, I try to click and load a different link (2) but my driver does nothing. I know my driver found the second link because if I print out 'second.text' then I get the correct text (3)...
我对 selenium 还是个新手,我几乎不知道自己在做什么。任何帮助都会有所帮助。 谢谢。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
if __name__ == '__main__':
options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.nike.com/men")
driver.implicitly_wait(5)
first = driver.find_element(by=By.CLASS_NAME, value="prl3-sm")
first.click()
driver.implicitly_wait(5)
second = driver.find_element(by=By.CSS_SELECTOR, value='a[class="JSftBPEZ"]')
#print(second.text)
second.click()
我已经测试过了。 通过Javascript点击它被点击。
这是点击第二个 link 的代码。
second = driver.find_element(by=By.CSS_SELECTOR, value='a[class="JSftBPEZ"]')
driver.execute_script("arguments[0].click();",second)
顺便说一句,您可能需要正确定义 xpath。例如第二个 link 指向 6 个元素。但无论如何通过Javascript点击它会点击第一个选项