我试图在https://www.textnow.com/login上找到登录页面的用户名路径。我尝试通过x_path,ID,名称,类查找它,但是我的机器人无法找到它。有没有人有我可以尝试的任何可能的解决方案?
源代码:
"SUDO FUNCTION: OPEN A NEW TAB FOR TEXT NOW AND LOG IN"
driver.implicitly_wait(3)
driver.execute_script("window.open('http://www.textnow.com/login','new window')")
textNowEmail = driver.find_element_by_id('txt-username')# still have not found username textfield
textNowEmail.send_keys(textNowUser)
#Set password code
textNowPass = driver.find_element_by_id('txt-password')
textNowPass.send_keys('fill')
这是即时消息:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="txt-username"]"}
(Session info: chrome=78.0.3904.108)
要将字符序列发送到网站https://www.textnow.com/login中的“电子邮件”或“用户名和密码”字段,您必须为引入WebDriverWait,并且可以使用以下定位策略之一:element_to_be_clickable()
使用CSS_SELECTOR
:
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get("https://www.textnow.com/login")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.uikit-text-field__input#txt-username"))).send_keys("Xavier-Uriel-Espinal")
driver.find_element_by_css_selector("input.uikit-text-field__input#txt-password").send_keys("Xavier-Uriel-Espinal")
使用XPATH
:
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get("https://www.textnow.com/login")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='uikit-text-field__input' and @id='txt-username']"))).send_keys("Xavier-Uriel-Espinal")
driver.find_element_by_xpath("//input[@class='uikit-text-field__input' and @id='txt-password']").send_keys("Xavier-Uriel-Espinal")
注意:您必须添加以下导入:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
浏览器快照:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句