繁体   English   中英

Python,硒find_element_by_link_text不起作用

[英]Python, selenium find_element_by_link_text not working

我正在尝试抓取一个网站。 我必须在哪里按下链接。 为此,我在chrome驱动器中使用了硒库。

from selenium import webdriver

url = 'https://sjobs.brassring.com/TGnewUI/Search/Home/Home?partnerid=25222&siteid=5011&noback=1&fromSM=true#Applications'
browser = webdriver.Chrome()
browser.get(url)
time.sleep(3)

link = browser.find_element_by_link_text("Don't have an account yet?")
link.click()

但这是行不通的。 任何想法为什么它不起作用? 有解决方法吗?

您可以通过几种方式来完成它。 这就是其中之一。 我已经使用driver.execute_script()命令来强制单击。 您不应该进行硬编码的延迟,因为它们非常不一致。

修改后的脚本:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC

url = 'https://sjobs.brassring.com/TGnewUI/Search/Home/Home?partnerid=25222&siteid=5011&noback=1&fromSM=true#Applications'

driver = webdriver.Chrome()
driver.get(url)

item = wait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "a[ng-click='newAccntScreen()']")))
driver.execute_script("arguments[0].click();",item)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM