我在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无论如何也找不到任何元素。谢谢。
答案 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()