Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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—要从表中的第二列中选择所有值吗_Python_Selenium Webdriver_Xpath - Fatal编程技术网

Python selenium—要从表中的第二列中选择所有值吗

Python selenium—要从表中的第二列中选择所有值吗,python,selenium-webdriver,xpath,Python,Selenium Webdriver,Xpath,我有这张桌子: 我想让我的selenium脚本选择所有的史诗 我尝试了下面的代码,但无法打印任何内容 epic = driver.find_element(By.XPATH,'//*[@id="content"]/div[2]/article/div/div[4]/table/tbody/tr/td').text 我对selenium是一个相当陌生的人,还不能确定如何获取epic列中的所有值。有人能帮忙吗?试试下面的代码: epics = driver.find_elements(By.XP

我有这张桌子:

我想让我的selenium脚本选择所有的史诗

我尝试了下面的代码,但无法打印任何内容

epic = driver.find_element(By.XPATH,'//*[@id="content"]/div[2]/article/div/div[4]/table/tbody/tr/td').text
我对selenium是一个相当陌生的人,还不能确定如何获取epic列中的所有值。有人能帮忙吗?

试试下面的代码:

epics = driver.find_elements(By.XPATH, '/html/body/div[3]/div[1]/div/div[2]/article/div/div[4]/table/tbody/tr/td[3]')

for epic in epics:
    text = epic.text
    print(text)
编辑2:您的代码无法工作,因为您的xpath不正确。 它正在检索所有列,而不仅仅是左边的第二列(epic列),正如我在回答中所写的xpath。

尝试以下代码:

epics = driver.find_elements(By.XPATH, '/html/body/div[3]/div[1]/div/div[2]/article/div/div[4]/table/tbody/tr/td[3]')

for epic in epics:
    text = epic.text
    print(text)
编辑2:您的代码无法工作,因为您的xpath不正确。
它正在检索所有列,而不仅仅是左边的第二列(epic列),正如我在回答中所写的xpath。

使用相对xpath表达式和适当的方法
驱动程序。查找元素

epics = driver.find_elements_by_xpath("//table[contains(@class,'pricesGLTable')]//tr/td[3]")
list = ''
for label in epics:
   list += label.text
   print (list)

使用相对XPath表达式和适当的方法
driver.find_元素

epics = driver.find_elements_by_xpath("//table[contains(@class,'pricesGLTable')]//tr/td[3]")
list = ''
for label in epics:
   list += label.text
   print (list)

使用下面的css选择器获取epic列中的值列表,并对其进行迭代以打印文本:

   epics = driver.find_elements_by_css_selector("table[class^='pricesGLTable'] tr td:nth- 
   child(3)")
   for epic in epics:
   print(epic.text) 

使用下面的css选择器获取epic列中的值列表,并对其进行迭代以打印文本:

   epics = driver.find_elements_by_css_selector("table[class^='pricesGLTable'] tr td:nth- 
   child(3)")
   for epic in epics:
   print(epic.text) 

请按照以下步骤操作:

1) Create xpath to reach each cell from where have to get Text:
epics = driver.find_elements_by_xpath("//table[contains(@class,'pricesGLTable')]//tr/td[3]")

2) Make a loop to iterate for every row to get the Text:
   for epic in epics:

3) Print from text into loop,
   print(epic.text) 
对于Expample:

epics = driver.find_elements_by_xpath("//table[contains(@class,'pricesGLTable')]//tr/td[3]")
 for epic in epics:
 print(epic.text)

请尝试这些步骤并让我知道…

请按照以下步骤操作:

1) Create xpath to reach each cell from where have to get Text:
epics = driver.find_elements_by_xpath("//table[contains(@class,'pricesGLTable')]//tr/td[3]")

2) Make a loop to iterate for every row to get the Text:
   for epic in epics:

3) Print from text into loop,
   print(epic.text) 
对于Expample:

epics = driver.find_elements_by_xpath("//table[contains(@class,'pricesGLTable')]//tr/td[3]")
 for epic in epics:
 print(epic.text)

请尝试这些步骤并让我知道…

XPath可能不正确,不是吗?您熟悉XPath吗?另外,请提供一个。XPath可能不正确,不是吗?您熟悉XPath吗?此外,请提供一份。