括号[?]在Seleniumpython中的css选择器中

2024-07-03 07:06:04 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我的脚本,检查元素是否存在。当我给这个选择器:

css=input[name='flightSearchParam[3].originAirport']

在Selenium Ide中它找到了这个元素,但是当我在Selenium rc中运行它时却找不到它。我认为是括号的问题。在

我必须改变什么才能找到硒元素?在

我用的是WindowsXP和波兰文化

脚本已准备好运行。在

^{pr2}$

主体:

conn.request("POST", "/selenium-server/driver/", body, headers)

 u'cmd=isElementPresent&1=css%3Dinput%5Bname%3DflightSearchParam%5B2%5D.originAirport%5D&sessionId=02b3341a3fee46f5a1e6d9c13d6e8916'

编辑

我把它改成sel.is_element_present("dom=document.getElementsByName('flightSearchParam[3].originAirport')[0]"):

它找到了这个元素。但是,我还是不知道为什么css在这里不起作用:/


Tags: name脚本元素inputselenium选择器ide文化
3条回答

如果HTML代码是

<input name="flightSearchParam[3].originAirport">

那么它的CSS选择器将是

^{pr2}$

你必须转义方括号,它对CSS选择器有特定的含义。在

尝试用反斜杠转义括号。在

我有一个类似的问题,可能会让你对问题的解决方案有所了解:

Firefox Selenium IDE在录制过程中返回了此目标:

css=input[name="keywords"]

获得这个元素的正确CSS选择器参数是(selenium 2.41):

solution = driver.find_element_by_css_selector('input[name="keywords"]')

所以,在你的情况下,这可能有用:

css= 'input[name="flightSearchParam[3].originAirport"]'
solution = driver.find_element_by_css_selector(css)

注意:在PythonSelenium中,我从不需要转义表示索引的括号。。。在

相关问题 更多 >