无法使用xpath,.select和Selenium使用Python单击“下一步”按钮

时间:2016-02-05 02:14:34

标签: javascript jquery python selenium xpath

我正在尝试点击此页面底部的“下一步”按钮: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'对象......

非常感谢任何帮助!

谢谢

3 个答案:

答案 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)

  1. 你必须找到两个按钮。
  2. 向下滚动到底部。
  3. 点击第二个按钮。
  4. 见下面的代码:

    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)

enter image description here 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