[英]Can't click a button with javascript using execute_script Selenium
[英]Can't click a “next” button using xpath, .select nor Selenium using Python
我试图单击此页面底部的“下一个”按钮: https : //www.domcop.com/domains/great-expired-domains/
我已经尝试过使用.select,xpath和Selenium的css选择器,但没有任何效果。
我认为按钮正在生成一个JQuery代码以在同一页面上列出域,这将解释python为什么无法使用xpath和.select单击它。
但是,我不知道如何用硒单击它。
这是我的脚本:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.domcop.com/domains/great-expired-domains/")
assert "Python" in driver.title
link = driver.find_element_by_class_name('next').get_attribute('a')
它返回一个'NoneType'对象...
任何帮助将非常感激!
谢谢
与普通的XML / HTML解析器不同,selenium模拟浏览器的行为,因此您似乎并不担心JQuery生成的元素不会出现问题。 选择器的问题是, a
不是 next
类元素的属性 ,而是next
子元素。 因此,您可以将CSS选择器用于child >
here:
link = driver.find_element_by_css_selector('.next > a')
link.click()
参见下面的代码:
driver.get('https://www.domcop.com/domains/great-expired-domains/')
aElements = driver.find_elements_by_css_selector('.next > a')
driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
aElements[1].click()
find_element(:xpath,'// * [@ id =“ domcop-table_wrapper”] / div [position()> 1] / div [position()> 1] / div / ul / li [6] / a / i [@ class =“ icon-double-angle-right”]')
该Xpath将始终有效。 之后您可以向下滚动并单击
我只是没有向下滚动。 就这样。
检查此Xpath
(:xpath, '//*[@id="domcop-table_wrapper"]/div[not(contains(text(),
"Display")) and not(contains(text(),"records"))]/descendant::li[@class="next"]/a/i[@class="icon-double-angle-right"]')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.