【发布时间】:2020-12-09 23:49:30
【问题描述】:
点击创建帐户后,我正在查找 facebook.com 上的名字框。 id 每次刷新都会改变,所以我很难找到它。 id 始终为 u_somenumber_b。例如 id = u_1_b, u_2_b 等。这是我目前所拥有的:
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
# Open the Firefox browser
driver = webdriver.Chrome()
# Navigate to “http://qatechhub.com
driver.get('http://www.fb.com')
# Check current URL
url = driver.current_url
print(url)
assert url == 'https://www.facebook.com/'
print("URL confirmed")
# Verify that there is a “Create an account” section on the page.
create_account_css_locator = "a[id='u_0_2']"
# create_account_css_locator = "a#u_0_2" Also works here
create_account_element = driver.find_element_by_css_selector(
create_account_css_locator)
assert create_account_element.text == 'Create New Account'
print("Create an account section confirmed")
create_account_element.click()
# Fill in the text boxes: First Name, Last Name, Mobile Number or email address,
# “Re-enter mobile number”, new password.
first_name_xpath = "//input[starts-with(@id, 'u_') and contains(@id, '_b')]"
first_name_element = driver.find_element_by_xpath(first_name_xpath)
print(first_name_element)
当我运行代码时,它仍然无法识别我的 first_name_element。我将如何编码来定位这个元素?
【问题讨论】:
标签: python selenium-webdriver automation qa