Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 复杂类的selenium css选择器或xpath不';当作为脚本运行时无法工作_Python_Xpath_Selenium Webdriver_Css Selectors_Automated Tests - Fatal编程技术网

Python 复杂类的selenium css选择器或xpath不';当作为脚本运行时无法工作

Python 复杂类的selenium css选择器或xpath不';当作为脚本运行时无法工作,python,xpath,selenium-webdriver,css-selectors,automated-tests,Python,Xpath,Selenium Webdriver,Css Selectors,Automated Tests,以下代码使用css选择器提取元素,在ipython3终端中工作,但在作为脚本运行时找不到元素: from selenium import webdriver driver = webdriver.Chrome() url = scrape_url + "&keywords=" + keyword driver.get(url) driver.find_elements_by_css_selector(".search-result.search-result__occluded-it

以下代码使用css选择器提取元素,在ipython3终端中工作,但在作为脚本运行时找不到元素:

from selenium import webdriver 
driver = webdriver.Chrome()

url = scrape_url + "&keywords=" + keyword
driver.get(url)
driver.find_elements_by_css_selector(".search-result.search-result__occluded-item.ember-view")
元素的复杂类:

"search-result search-result__occluded-item ember-view"
以下xpath在终端中工作,但不是作为脚本:

driver.find_elements_by_xpath("//li[contains(@class, 'search-result search-result__occluded-item')]")

如果使用SeleniumCSS选择器找不到任何元素,那么可以尝试使用xpath而不是css选择器


可以找到更多相关信息。

如果使用selenium css选择器找不到任何元素,那么可以尝试使用xpath而不是css选择器


有关这方面的更多信息可以找到。

只传递部分类名,如

driver.find_elements_by_css_selector(".search-result__occluded-item")

只传递部分类名,如

driver.find_elements_by_css_selector(".search-result__occluded-item")

这可能是一个时间问题:可以动态生成必需的元素,因此需要等待一段时间,直到它出现在
DOM
中:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver 
driver = webdriver.Chrome()

url = scrape_url + "&keywords=" + keyword
driver.get(url)
wait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//li[contains(@class, 'search-result search-result__occluded-item')]")))

还可以动态分配一些类名。这就是为什么在没有

的情况下使用复合名称作为
“搜索结果搜索结果\uuuu遮挡项目余烬视图”
可能无法工作的原因。这可能是一个时间问题:可以动态生成必需的元素,因此需要等待一段时间,直到它出现在
DOM
中:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver 
driver = webdriver.Chrome()

url = scrape_url + "&keywords=" + keyword
driver.get(url)
wait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//li[contains(@class, 'search-result search-result__occluded-item')]")))

还可以动态分配一些类名。这就是为什么使用复合名称作为
“搜索结果搜索结果\uuuu遮挡项余烬视图”
如果没有可能无法工作,xpath也无法工作。抱歉,我将更新问题XPath也不起作用。抱歉,我将更新问题Put wait before finding element。Put wait before finding element。