使用Python和chromedriver,我想在网页上(公司内部)单击一个小三角形,该三角形指向其“下一页”。
我给页面加载了很长的time.sleep(),并尝试了以下两种方法,但它们仍然无法正常工作:
chromedriver = "C:\\Python27\\Scripts\\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.maximize_window()
driver.implicitly_wait(5)
time.sleep(5)
verificationErrors = []
accept_next_alert = True
driver.get("the_website")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(50)
driver.find_element_by_css_selector("a[title=\'Next_page'\]").click()
# also: driver.find_element_by_xpath('//*[@id="tabs"]/div/ul/li[3]/a').click()
错误提示:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"a[title="Next_page"]"}
单击它的正确方法是什么?谢谢。
信息:
以下是使用Chrome浏览器并检查了元素的不同形式的副本:
外部:
<a style="background: url('./img/next.png') center center no-repeat;" title="Next_page" href="#1" onclick="click"></a>
选择器:
tabs > div > ul > li:nth-child(3) > a
Xpath:
//*[@id="tabs"]/div/ul/li[3]/a
元素:
<a style="background: url('./img/next.png') center center no-repeat;" title="Next_page" href="#1" onclick="click"></a>
答案 0 :(得分:1)
尝试使用xpath:driver.find_element_by_xpath("a[@title='Next_page']")
请检查元素是否在iframe中,如果是,则切换到iframe,然后单击按钮,要切换到iframe,您可以使用:driver.switch_to.frame(driver.find_element_by_tag_name('iframe'))
,然后使用给定的元素单击元素xpath,如果要切换回默认内容,可以使用driver.switch_to.default_content()
答案 1 :(得分:1)
尝试这个:
driver.find_element_by_xpath("//a[@title = "Next_page"]").click()