我正在尝试点击此页面底部的“下一步”按钮:https://www.domcop.com/domains/great-expired-domains/
我尝试过使用.select的css选择器,使用xpath和Selenium并没有任何效果。
我认为该按钮正在生成一个JQuery代码,用于列出同一页面上的域,这可以解释为什么python无法使用xpath和.select单击它。
但是,我无法弄清楚如何用Selenium点击它......
这是我的剧本:
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'对象......
非常感谢任何帮助!
谢谢
答案 0 :(得分:3)
与常见的XML / HTML解析器不同,selenium会模拟浏览器的行为,所以它不应该像JQuery生成的元素那样有问题。您的选择器的问题是,a
不属于属于类next
的元素,它是{em> child 的next
代替。因此,您可以在此处使用CSS选择器>
:
link = driver.find_element_by_css_selector('.next > a')
link.click()
答案 1 :(得分:2)
见下面的代码:
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()
答案 2 :(得分:0)
find_element(:xpath,'// * [@ id =“domcop-table_wrapper”] / div [position()> 1] / div [position()> 1] / div / UL /锂[6] / A / I [@类= “图标-双角右”]')
此Xpath始终有效。您可以向下滚动并点击
我只是没有向下滚动。多数民众赞成。
检查此Xpath
#install
wget http://codeception.com/codecept.phar
cp codecept.phar /usr/local/bin/codecep
#any combination hangs
/usr/local/bin/codecep bootstrap
vendor/bin/codecept build
codecept run
codecept