繁体   English   中英

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

[英]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()
  1. 您必须找到两个按钮。
  2. 向下滚动到底部。
  3. 单击第二个按钮。

参见下面的代码:

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.

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