Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 问题:使用CSS选择器属性';获取元素;风格';含硒_Python_Xpath_Selenium_Css Selectors - Fatal编程技术网

Python 问题:使用CSS选择器属性';获取元素;风格';含硒

Python 问题:使用CSS选择器属性';获取元素;风格';含硒,python,xpath,selenium,css-selectors,Python,Xpath,Selenium,Css Selectors,使用selenium的“style”属性访问元素时遇到问题。问题在于,使用xpath选择器,我能够做到: int(self.selenium.get_element_index("//div[contains(@class,'%s')][contains(@style,'%s')][contains(@style,'%s')]"%(pin_class_name,map_object_position[0],map_object_position[1]))) ^这将返回结果 但当我尝试使用css

使用selenium的“style”属性访问元素时遇到问题。问题在于,使用xpath选择器,我能够做到:

int(self.selenium.get_element_index("//div[contains(@class,'%s')][contains(@style,'%s')][contains(@style,'%s')]"%(pin_class_name,map_object_position[0],map_object_position[1])))
^这将返回结果

但当我尝试使用css选择器访问元素时,似乎找不到这样的元素:

int(self.selenium.get_element_index("css=div[class*='%s'][style*='%s'][style*='%s']"%(pin_class_name,map_object_position[0],map_object_position[1])))

有没有人遇到过这个问题,或者知道是否可以使用css选择器使用属性“style”进行导航。我之所以描述这个问题,是因为我想比较一下这两种方法的使用情况(我怀疑xpath的使用没有达到应有的效果)

CSS2中没有
*=
操作符,因此根据您使用的Selenium版本,您可能无法使用它。

我做了大量实验,比较了Selenium的XPath、CSS和DOM定位器,发现虽然可以从XPath或DOM访问
style
属性,但不能从CSS访问属性(正如您所猜测的)。你可以在我最近在Simple-Talk.com上发布的快速参考图表中找到这条新闻(见脚注2),以及我的完整分析