在Python

时间:2018-06-16 23:28:55

标签: python css selenium

我在vodafone.co.uk上运行脚本,但我无法使用CSS选择器找到任何元素。

browser.get("http://freesim.vodafone.co.uk/")
 browser.find_element_by_css_selector("#frmNew > div:nth-child(32) > div > div > div > div.freesim-text-last.last > button > span").click()

这就是我得到的:

NoSuchElementException: Message: Unable to locate element

没有遇到我使用的CSS,selenium无论如何也找不到任何元素。谢谢。

1 个答案:

答案 0 :(得分:0)

您还没有提到要与之交互的元素。

点击vodafone.co.uk上的宽带链接。

代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 

driver = webdriver.Chrome(executable_path = r'D:/Automation/chromedriver.exe')
driver.get("http://freesim.vodafone.co.uk/")

broad_band = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "a[href='https://www.vodafone.co.uk/broadband/index.htm'] button"))) 

broad_band.click()  

您可以为您的网络元素编写相同的内容。

button = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#frmNew > div:nth-child(32) > div > div > div > div.freesim-text-last.last > button > span")))  
button.click()