硒+Python。如何单击此链接?

2024-06-08 15:07:44 发布

您现在位置:Python中文网/ 问答频道 /正文

请告诉我,如何使用Python+Selenium单击此链接?在

HTML格式: enter image description here

脚本(但不起作用):

from selenium import webdriver
import time
browser=webdriver.Firefox()
browser.get('http://rutracker.ignn.ru')
browser.find_element_by_xpath("//a[contains(@href,'tmozs.com')]").click()
browser.quit()

Tags: fromimportbrowser脚本httpgettime链接
2条回答

以下是您问题的答案:

首先需要切换到frame

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import time

binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get('http://rutracker.ignn.ru')
time.sleep(5)
driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@src,'tmozs.com/jsonp.php')]"))
time.sleep(5)
driver.find_element_by_xpath("//div[@class='feed-inner']/div[@class='feed-cell'][1]/a[@class='feed-cell-inner' and contains(@href,'http://tmozs.com/info.php?')]").click()
time.sleep(5)
driver.quit()

PS: You may consider to induce ExplicitWait instead of time.sleep() after switching to the frame for the elements to be visible/clickable.

如果这回答了你的问题,请告诉我。在

您可以尝试以下XPATH:-//div[@class="feed-cell"]/a[@class="feed-cell-inner"]

//a[@class="feed-cell-inner" or contains(@href,"http://tmozs.com") ]

相关问题 更多 >