如何在python中使用硒替代ID?

时间:2019-09-06 19:09:00

标签: python selenium outlook automation

我正在尝试使用Python中的Selenium在Outlook上自动执行电子邮件创建过程,并且某些输入ID的替代项(例如,名字的替代项)在“ TextField64”和“ TextField65”之间进行替代。我似乎无法获取如何检查“ TextField64”的代码的方法,如果不存在,请检查“ TextField65”的代码

我尝试使用find_element_by_css_name,find_element_by_css_selector,但是它们都交替使用,我发现使用find_element_by_id更容易。

if len (driver.find_element_by_id('TextField64'))==0:
    First = driver.find_element_by_id('TextField65')

elif len (driver.find_element_by_id('TextField65'))==0:
    First = driver.find_element_by_id('TextField64')

我在运行第一行而不检查else行时得到了这个。 “第81行,在     如果len(driver.find_element_by_id('TextField64'))== 0:“

应该检查else行并相应地设置“ First”变量。

2 个答案:

答案 0 :(得分:0)

WebElement没有len()

要检查长度计数0,您需要使用driver.find_elements_by_id()

尝试以下代码。

if len(driver.find_elements_by_id('TextField64'))==0:
    First = driver.find_element_by_id('TextField65')

elif len(driver.find_elements_by_id('TextField65'))==0:
    First = driver.find_element_by_id('TextField64')

答案 1 :(得分:-1)

只需使用CSS选择器和OR运算符即可。

First = driver.find_element_by_css_selector("TextField64,TextField65")