繁体   English   中英

使用XPATH / Send_Keys更改元素属性-Selenium Python

[英]Change Element Attribute Using XPATH / Send_Keys - Selenium Python

在此处输入图片说明 我正在编写一个程序来从网站收集数据,但是在程序的某个点上,我需要在文本框中输入电子邮件和密码。 我尝试使用的路线是使用driver.execute_script来更改基础HTML,但是我很难将该命令与用于查找元素的XPATH值相连接。 我知道这里有一些线程处理类似的问题,但是我完全找不到使用XPATH的线程。 任何帮助将不胜感激,因为我完全被困在这里。

下面是我要更改的HTML行以及与文本框关联的XPATH值。

XPATH值

/html/body/center/div[4]/table[2]/tbody/tr/td[4]/table[1]/tbody/tr[2]/td/table/tbody/tr[7]/td[2]/font

HTML:

<input onclick="if (this.value == 'Enter Your Name') this.value='';" onchange="if (this.value == 'Enter Your Name') this.value='';" name="name" type="text" value="Enter Your Name" style="padding-top: 2px; padding-bottom: 6px; padding-left: 4px; padding-right: 4px; width:120px; height:15px; font-size:13px; color: #000000; font-family:Trebuchet MS; background:#FFFFFF; border:1px solid #000000;">

我正在尝试将value =“ Enter Your Name”替换为value =“ Andrew”-或任何其他名称。 非常感谢您提供的所有建议,请让我知道还有任何其他数据/信息。

Send_Keys脚本:

name = driver.find_element_by_xpath('//body/center/form/span/table/tbody/tr/td[1]/input')
name.clear()
name.send_keys("Andrew")

您的<input>标记包含在<iframe> ,因此您需要首先将上下文切换到<iframe>

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))

现在,您位于<iframe>内部,您的send_keys脚本应该可以工作了:

name = driver.find_element_by_xpath('//body/center/form/span/table/tbody/tr/td[1]/input')
name.clear()
name.send_keys("Andrew")

最后,以下是切换回默认内容(在<iframe> )的方法:

driver.switch_to.default_content()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM