我已经编写了一个代码来使用 selenium 在 python 中测试页面。该代码有效,但现在我正在尝试更好地重写它。
我创建了一个 locators.py
文件如以下文档中所述:selenium python binding - page objects .
对于简单的定位器,这很简单。
这是我到目前为止所做的:
from selenium.webdriver.common.by import By
class PhotoHomePageLocators(object):
"""A class for photographer home page locators. All photographer interface home page locators should come here"""
add_new_project_btn = (By.CLASS_NAME, 'addProject')
view_all_projects_btn = (By.CLASS_NAME, 'viewAllProjects')
class NameCoverPageLocators(object):
"""A class for name and cover home page locators. All name and cover page locators should come here"""
project_name_txt_box = (By.XPATH, '//*[@id="rform_pt2_0"]')
client_name_txt_box = (By.XPATH, '//*[@id="rform_pt2_1"]')
client_email_txt_box = (By.XPATH, '//*[@id="rform_pt2_2"]')
但我的代码中有以下行,我不确定如何编写,因此它符合上述语法:
driver.find_element_by_class_name('coverUpload').find_element_by_class_name('pButton').click()
我在一个类中定位一个类,有几个
pButton
页面中的类,但在 coverUpload
中只有一个类(class)。
最佳答案
您应该能够按如下方式安排您要询问的线路:
someName = driver.find_element_by_class_name('coverUpload')
ButtonName = someName.find_element_by_class_name('pButton')
ButtonName.click()
关于python - 如何使用python在selenium中正确使用By类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943688/